import { user_attribute } from '@src/db/src/models/user/user_attribute'

/**
 * 读取用户属性表中的指定字段
 * @param uid 用户uid
 * @param fieldName 要读取的字段名
 * @returns Promise<number | string | null> 字段值，未找到返回null
 */
export async function readUserAttribute(
  uid: number,
  fieldName: string
): Promise<number | string | null> {
  const attr = await user_attribute.findOneValue({ where: { uid } })
  if (!attr) throw new Error('用户不存在')

  if (!(fieldName in attr)) throw new Error('字段不存在')

  return attr[fieldName] ?? null
}
